home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 March
/
EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso
/
earcd
/
devel
/
vbcc-src
/
machines
/
alpha
/
machine.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-01-01
|
2KB
|
64 lines
/* Example of a code-generator for a DEC Alpha */
#include "dt.h"
/* This struct can be used to implement machine-specific */
/* addressing-modes. */
/* Not used in this code-generrator. */
struct AddressingMode{
int flags;
int base;
int align;
long offset;
};
/* The number of registers of the target machine. */
#define MAXR 64
/* Number of commandline-options the code-generator accepts. */
#define MAXGF 10
/* If this is set to zero vbcc will not generate ICs where the */
/* target operand is the same as the 2nd source operand. */
/* This can sometimes simplify the code-generator, but usually */
/* the code is better if the code-generator allows it. */
#define USEQ2ASZ 1
/* This specifies the smallest integer type that can be added to a */
/* pointer. */
#define MINADDI2P LONG
/* If the bytes of an integer are ordered most significant byte */
/* byte first and then decreasing set BIGENDIAN to 1. */
#define BIGENDIAN 0
/* If the bytes of an integer are ordered lest significant byte */
/* byte first and then increasing set LITTLEENDIAN to 1. */
#define LITTLEENDIAN 1
/* Note that BIGENDIAN and LITTLEENDIAN are mutually exclusive. */
/* If switch-statements should be generated as a sequence of */
/* SUB,TST,BEQ ICs rather than COMPARE,BEQ ICs set this to 1. */
/* This can yield better code on some machines. */
#define SWITCHSUBS 1
/* In optimizing compilation certain library memcpy/strcpy-calls */
/* with length known at compile-time will be inlined using an */
/* ASSIGN-IC if the size is less or equal to INLINEMEMCPY. */
/* The type used for the ASSIGN-IC will be UNSIGNED|CHAR. */
#define INLINEMEMCPY 1024
/* Parameters are sometimes passed in registers without __reg. */
#define HAVE_REGPARMS 1
/* Parameters on the stack should be pushed in order rather than */
/* in reverse order. */
#define ORDERED_PUSH 1
/* Structure for reg_parm(). */
struct reg_handle{
int nextr;
};